package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.dto.AccountDto;
import com.example.entity.vo.request.*;
import org.springframework.security.core.userdetails.UserDetailsService;


public interface AccountService extends IService<AccountDto> , UserDetailsService {
    //通过用户名或邮箱查找用户
    AccountDto findAccountByNameOrEmail(String text);

    //通过邮箱注册
    String registerEmailVerifyCode(String type,String email,String ip);

    //注册邮件账户
    /*先不能确定的接口参数，可以先封装一个VO*/
    String registerEmailAccount(EmailRegisterVo vo);

    //验证重置密码的验证码是否正确
    String resetCodeConfirm(ResetCodeConfirmVo vo);

    //重置密码
    String resetAccountPassword(ResetAccountPasswordVo vo);

    //通过用户Id获取信息
    AccountDto findAccountById(int id);

    //更新电子邮箱
    String modifyEmail(int id, ModifyEmailVo vo);

    //修改密码
    String changePassword(int id, ChangePasswordVo vo);
}
